package com.guijq.design.factory.pizzaaf.factory;

import com.guijq.design.factory.pizzaaf.ingredient.impl.BlackOlives;
import com.guijq.design.factory.pizzaaf.ingredient.impl.ThickCrustDough;
import com.guijq.design.factory.pizzaaf.ingredient.Cheese;
import com.guijq.design.factory.pizzaaf.ingredient.Clams;
import com.guijq.design.factory.pizzaaf.ingredient.Dough;
import com.guijq.design.factory.pizzaaf.ingredient.Pepperoni;
import com.guijq.design.factory.pizzaaf.ingredient.Sauce;
import com.guijq.design.factory.pizzaaf.ingredient.Veggies;
import com.guijq.design.factory.pizzaaf.ingredient.impl.Eggplant;
import com.guijq.design.factory.pizzaaf.ingredient.impl.FrozenClams;
import com.guijq.design.factory.pizzaaf.ingredient.impl.MozzarellaCheese;
import com.guijq.design.factory.pizzaaf.ingredient.impl.PlumTomatoSauce;
import com.guijq.design.factory.pizzaaf.ingredient.impl.SlicedPepperoni;
import com.guijq.design.factory.pizzaaf.ingredient.impl.Spinach;

/**
 * Created by Gavin on 2017/3/9.
 */
public class ChicagoPizzaIngredientFactory implements PizzaIngredientFactory {
    @Override
    public Dough createDough() {
        return new ThickCrustDough();
    }

    @Override
    public Sauce createSauce() {
        return new PlumTomatoSauce();
    }

    @Override
    public Cheese createCheese() {
        return new MozzarellaCheese();
    }

    @Override
    public Veggies[] createVeggies() {
        Veggies[] veggies = {
                new BlackOlives(),
                new Spinach(),
                new Eggplant()
        };

        return veggies;
    }

    @Override
    public Pepperoni createPepperoni() {
        return new SlicedPepperoni();
    }

    @Override
    public Clams createClam() {
        return new FrozenClams();
    }
}
